# Init #
[Global]
FallbackTheme=_fallback

[Common]
FirstAttractScreen=""

[GameState]
# Tier 05 is the same as the DDR style threshold
GradeTierForExtra1="Grade_Tier05"
GradeTierForExtra2="Grade_Tier05"

[ScreenSystemLayer]
CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.75;diffuse,ColorLightTone(PlayerColor(PLAYER_1));strokecolor,color("#000000")
CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.75;diffuse,ColorLightTone(PlayerColor(PLAYER_2));strokecolor,color("#000000")

[ScreenInit]
ShowHeader=false
ShowFooter=false

[ScreenPrompt]
ShowHeader=false
ShowFooter=false

[ScreenCaution]
ShowHeader=false
ShowFooter=false
ShowHelp=false

[ScreenMapControllers]
ShowHeader=false
ShowFooter=false

[ScreenCredits]
ShowHeader=false
ShowFooter=false

[ScreenTitleMenu]
ShowHeader=false
ShowFooter=false
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((20)*(itemIndex-(numItems-1)/2)); end;
ScrollerSecondsPerItem=0
ScrollerNumItemsToDraw=20
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y+120

[ScreenWithMenuElements]
WaitForChildrenBeforeTweeningOut=true

ShowHeader=true
HeaderX=0
HeaderY=0
HeaderOnCommand=draworder,5;
HeaderOffCommand=

ShowFooter=true
FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM-16
FooterOnCommand=draworder,5;zoom,0.75;addy,45;decelerate,0.6;addy,-45;
FooterOffCommand=sleep,0.15;decelerate,0.6;addy,45;

TimerX=SCREEN_RIGHT-70
TimerY=SCREEN_TOP+30
TimerOnCommand=visible,PREFSMAN:GetPreference("MenuTimer") == true;draworder,10;zoom,0;rotationz,20;shadowlength,1;sleep,0.5;decelerate,0.3;zoom,0.75;rotationz,0
TimerOffCommand=decelerate,0.3;zoom,0;rotationz,-20;

StageDisplayNumberOffset=1
ScreenInDelay=0
ScreenOutDelay=0

ShowHelp=true
HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-16
HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.5;maxwidth,420/0.5;diffuse,color("#FFFFFF");draworder,105;addy,45;decelerate,0.6;addy,-45
HelpOffCommand=sleep,0.15;decelerate,0.6;addy,45

########
## Options
########
[ScreenOptionsSimple]
NumRowsShown=9
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-120+30*offsetFromCenter) end
ExplanationTogetherX=SCREEN_CENTER_X
ExplanationTogetherY=SCREEN_CENTER_Y+166
ExplanationTogetherOnCommand=stoptweening;zoom,0.6;diffuse,color("#FFFFFF");strokecolor,color("0,0,0,0.6");wrapwidthpixels,875;cropright,1;linear,0.5;cropright,0

[ScreenOptions]
NumRowsShown=8
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-120+30*offsetFromCenter) end
#
ShowExitRow=true
SeparateExitRow=true
SeparateExitRowY=SCREEN_CENTER_Y+120
#
ShowScrollBar=true
ScrollBarHeight=270
ScrollBarTime=0.2
ScrollBarX=SCREEN_CENTER_X+277
ScrollBarY=SCREEN_CENTER_Y+2
ContainerOnCommand=addy,-4;diffusealpha,0;decelerate,0.2;addy,4;diffusealpha,1
ContainerOffCommand=decelerate,0.2;addy,4;diffusealpha,0
CursorOnCommand=
#ShowExplanations=true
ExplanationP1X=SCREEN_CENTER_X-256-20
ExplanationP1Y=SCREEN_CENTER_Y+166
ExplanationP1OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,0;cropright,1;linear,0.5;cropright,0
ExplanationP1OffCommand=
ExplanationP2X=SCREEN_CENTER_X+256+20
ExplanationP2Y=SCREEN_CENTER_Y+166
ExplanationP2OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,1;cropright,1;linear,0.5;cropright,0
ExplanationP2OffCommand=
ExplanationTogetherX=SCREEN_CENTER_X
ExplanationTogetherY=SCREEN_CENTER_Y+166
ExplanationTogetherOnCommand=stoptweening;zoom,0.6;diffuse,color("#FFFFFF");strokecolor,color("0,0,0,0.6");wrapwidthpixels,875;cropright,1;linear,0.5;cropright,0
#
LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat'
LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25")
LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25")
#
LineHighlightP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP1ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP1ChangeToExitCommand=finishtweening;diffusealpha,0.15;
LineHighlightP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP2ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP2ChangeToExitCommand=finishtweening;diffusealpha,0.15;
#
CursorTweenSeconds=0.09

[ScreenOptionsServiceChild]
ExplanationTogetherX=SCREEN_CENTER_X
ExplanationTogetherY=SCREEN_CENTER_Y+166
ExplanationTogetherOnCommand=stoptweening;zoom,0.6;diffuse,color("#FFFFFF");strokecolor,color("0,0,0,0.6");wrapwidthpixels,875;cropright,1;linear,0.5;cropright,0

[OptionRow]
TitleX=SCREEN_CENTER_X-254
TitleGainFocusCommand=diffuse,color("#FFFFFF")
TitleLoseFocusCommand=diffuse,color("#7D7E7F")
TitleOnCommand=shadowlength,0;wrapwidthpixels,SCREEN_WIDTH*0.29;zoom,0.4;vertspacing,-7;horizalign,left;
ColorSelected=color("#62ECCA")
ColorNotSelected=color("#4F8D7E")
ColorDisabled=color("0.25,0.25,0.25,1")
ItemsStartX=SCREEN_CENTER_X-145
ItemsEndX=SCREEN_CENTER_X+180
TweenSeconds=0.09
ItemOnCommand=zoom,0.5;strokecolor,color("0,0,0,0.75");

[OptionRowMiniMenu]
ColorSelected=color("#FFFFFF")
ColorNotSelected=color("#7D7E7F")
ColorDisabled=color("0.25,0.25,0.25,1")

[OptionRowService]
TitleGainFocusCommand=diffuse,color("#FFFFFF");
TitleLoseFocusCommand=diffuse,color("#7D7E7F");

[ScreenOptionsService]
ShowHeader=true

LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Profiles,Network,Advanced,Reload,Credits"

[ScreenSelectGame]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"

LineNames="Theme,Language,Announcer,Defaultnoteskin,Windowed,Game"
LineGame="conf,Game"
LineTheme="conf,Theme"
LineLanguage="conf,Language"
LineAnnouncer="conf,Announcer"
LineDefaultnoteskin="conf,DefaultNoteSkin"
LineWindowed="conf,Windowed"
LineRes="conf,DisplayResolution"
LineAspect="conf,DisplayAspectRatio"

[ScreenPlayerOptions]
LineNames="1,8,14,2,3A,3B,4,5,6,R1,R2,7,9,10,11,12,13,SF,PT,16"
LineSF="lua,OptionRowScreenFilter()"
LinePT="lua,OptionRowProTiming()"

[OptionRowExit]
ColorSelected=color("#FFFFFF")
ColorNotSelected=color("#00B187")
ColorDisabled=color("#00B187")
ItemsMinBaseZoom=1
ItemOnCommand=zoom,0.75;uppercase,true;

FrameOnCommand=visible,true;diffusealpha,1;diffuse,color("#0A6B54");
FrameX=SCREEN_CENTER_X;
FrameGainFocusCommand=stoptweening;linear,0.1;diffuse,color("#A91F1F");
FrameLoseFocusCommand=stoptweening;decelerate,0.05;diffuse,color("#0A6B54");

ItemsLongRowP1X=SCREEN_CENTER_X-512
ItemsLongRowP2X=SCREEN_CENTER_X+512
ItemsLongRowSharedX=SCREEN_CENTER_X

########
## Gameplay loop
########

[ScreenSelectStyle]
ShowHeader=false
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((52)*(itemIndex-(numItems-1)/2)); end;
ScrollerX=SCREEN_CENTER_X-20

[ScreenSelectPlayMode]
ShowHeader=false
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((52)*(itemIndex-(numItems-1)/2)); end;
ScrollerX=SCREEN_CENTER_X-20
ChoiceNames="Easy,Normal,Nonstop"
#
ChoiceEasy="applydefaultoptions;name,Easy;text,Easy;playmode,regular;difficulty,beginner;screen,ScreenSelectMusic;setenv,sMode,Normal"
ChoiceNormal="applydefaultoptions;name,Normal;text,Normal;playmode,regular;difficulty,medium;screen,ScreenSelectMusic;setenv,sMode,Normal"
ChoiceNonstop="applydefaultoptions;name,Nonstop;text,Course;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop"
#
ShowIcon=true
UseIconMetrics=true
#
IconGainFocusCommand=stoptweening;addy,12;linear,0.2;diffusealpha,1;addy,-12
IconLoseFocusCommand=stoptweening;linear,0.2;diffusealpha,0

IconChoiceEasyX=SCREEN_CENTER_X+160
IconChoiceEasyY=SCREEN_CENTER_Y
IconChoiceEasyOnCommand=diffusealpha,0;addy,-10;decelerate,0.4;diffusealpha,1
IconChoiceEasyOffCommand=decelerate,0.2;diffusealpha,0

IconChoiceNormalX=SCREEN_CENTER_X+160
IconChoiceNormalY=SCREEN_CENTER_Y
IconChoiceNormalOnCommand=diffusealpha,0;addy,-10;decelerate,0.4;diffusealpha,1
IconChoiceNormalOffCommand=decelerate,0.2;diffusealpha,0
#
IconChoiceNonstopX=SCREEN_CENTER_X+160
IconChoiceNonstopY=SCREEN_CENTER_Y
IconChoiceNonstopOnCommand=diffusealpha,0;addy,-10;decelerate,0.4;diffusealpha,1
IconChoiceNonstopOffCommand=decelerate,0.2;diffusealpha,0

[ScreenProfileLoad]
ShowHeader=false
ShowFooter=false

[ScreenProfileSave]
ShowHeader=false
ShowFooter=false

[ScreenSelectMusic]
MusicWheelX=SCREEN_CENTER_X-140
MusicWheelY=SCREEN_CENTER_Y
MusicWheelOnCommand=addx,-SCREEN_WIDTH;decelerate,0.6;addx,SCREEN_WIDTH
MusicWheelOffCommand=decelerate,0.6;addx,-SCREEN_WIDTH
#
BannerX=SCREEN_CENTER_X+185-20
BannerY=SCREEN_CENTER_Y-150
BannerOnCommand=scaletoclipped,256,80;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
BannerOffCommand=decelerate,0.6;addx,SCREEN_WIDTH
#
ShowDifficultyList=not GAMESTATE:IsCourseMode()
DifficultyListX=SCREEN_CENTER_X+95-20
DifficultyListY=SCREEN_CENTER_Y+154
DifficultyListOnCommand=rotationz,-90;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
DifficultyListOffCommand=decelerate,0.6;addx,SCREEN_WIDTH
#
ShowSongTime=true
SongTimeX=SCREEN_CENTER_X+305
SongTimeY=SCREEN_CENTER_Y-82
SongTimeOnCommand=finishtweening;maxwidth,128;horizalign,right;zoom,0.5;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
SongTimeOffCommand=decelerate,0.6;addx,SCREEN_WIDTH
SongTimeResetCommand=diffuse,color("#FFFFFF")
SongTimeAutogenCommand=diffuse,Color("#EEEEEE")
SongTimeLongCommand=diffuse,color("#F6C49B")
SongTimeMarathonCommand=diffuse,color("#9BD4F6")
#
ShowBPMDisplay=not GAMESTATE:IsCourseMode();
BPMDisplayX=SCREEN_CENTER_X+305
BPMDisplayY=SCREEN_CENTER_Y-66
BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,right;zoom,0.5;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
BPMDisplayOffCommand=decelerate,0.6;addx,SCREEN_WIDTH
#
PercentScoreP1X=SCREEN_CENTER_X+165-70
PercentScoreP1Y=SCREEN_CENTER_Y+80
PercentScoreP2X=SCREEN_CENTER_X+165+70
PercentScoreP2Y=SCREEN_CENTER_Y+80
PercentScoreP1OnCommand=finishtweening;maxwidth,128;zoom,0.5;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
PercentScoreP1OffCommand=decelerate,0.6;addx,SCREEN_WIDTH
PercentScoreP2OnCommand=finishtweening;maxwidth,128;zoom,0.5;addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
PercentScoreP2OffCommand=decelerate,0.6;addx,SCREEN_WIDTH
#
ShowSongOptions=true
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_CENTER_Y
SongOptionsOnCommand=visible,false;draworder,1000;diffuse,color("#18CCB4");shadowlength,1;
SongOptionsOffCommand=
SongOptionsShowCommand=visible,true;diffusealpha,0;addy,-6;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.3;addy,6;diffusealpha,1;
SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");addy,-6;decelerate,0.3;addy,6;diffusealpha,0;
SongOptionsHideCommand=sleep,0.1;decelerate,0.3;addy,6;diffusealpha,0;

[ScreenSelectCourse]
PercentScoreP1X=SCREEN_CENTER_X+165-70
PercentScoreP1Y=SCREEN_CENTER_Y+65
PercentScoreP2X=SCREEN_CENTER_X+165+70
PercentScoreP2Y=SCREEN_CENTER_Y+65

ShowCourseContentsList=true
CourseContentsListX=SCREEN_CENTER_X+200
CourseContentsListY=SCREEN_CENTER_Y+100
CourseContentsListOnCommand=addx,SCREEN_WIDTH;decelerate,0.6;addx,-SCREEN_WIDTH
CourseContentsListOffCommand=decelerate,0.6;addx,SCREEN_WIDTH

[MusicWheel]
SwitchSeconds=0.05
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	self:y(offsetFromCenter*68); \
end
NumWheelItems=7
#
HighlightOnCommand=diffuseramp;effectcolor2,color("1,1,1,0.8");effectcolor1,color("1,1,1,1");effectclock,'beatnooffset'
ShowRoulette=false

[SongManager]
NumSongGroupColors=1
NumCourseGroupColors=1
#
SongGroupColor1=color("#3DEEAD")
CourseGroupColor1=color("0,0,0,0") -- white
ExtraColor=color("#FCC0C0")

[TextBanner]
TitleX=0
TitleY=0
TitleOnCommand=horizalign,right
SubtitleX=0
SubtitleY=0
SubtitleOnCommand=horizalign,right
ArtistX=0
ArtistY=0
ArtistOnCommand=horizalign,right
ArtistPrependString=""
AfterSetCommand=%function(self) \
	local Title=self:GetChild("Title"); \
	local Subtitle=self:GetChild("Subtitle"); \
	local Artist=self:GetChild("Artist"); \
	if Subtitle:GetText() == "" then \
		(cmd(zoom,0.75;maxwidth,242/0.75;x,250-136;y,0))(Title); \
		(cmd(visible,false))(Subtitle); \
		(cmd(visible,false))(Artist); \
	else \
		(cmd(zoom,0.75;maxwidth,242/0.75;y,-7;x,250-136))(Title); \
		(cmd(visible,true;zoom,0.5;y,12;maxwidth,242/0.5;x,250-136))(Subtitle); \
		(cmd(visible,false))(Artist); \
	end \
end;

[TextBannerCourse]
Fallback="TextBanner"
TitleOnCommand=horizalign,right
SubtitleOnCommand=horizalign,right
ArtistOnCommand=visible,false
ArtistPrependString=""
AfterSetCommand=%function(self) \
	local Title=self:GetChild("Title"); \
	local Subtitle=self:GetChild("Subtitle"); \
	local Artist=self:GetChild("Artist"); \
	if Subtitle:GetText() == "" then \
		(cmd(zoom,0.65;maxwidth,240/0.65))(Title); \
		(cmd(visible,false))(Subtitle); \
	else \
		(cmd(zoom,0.475;maxwidth,450;y,-2))(Title); \
		(cmd(visible,true;zoom,0.35;maxwidth,550;y,5))(Subtitle); \
	end \
end;

[MusicWheelItem]
Fallback=WheelItemBase
IconX=90
IconY=0
IconOnCommand=
#
SectionCountX=245-136
SectionCountOnCommand=zoom,0.5;horizalign,right
SectionExpandedOnCommand=x,210-136;maxwidth,202/0.6;horizalign,right;shadowlength,1;zoom,0.6
SectionCollapsedOnCommand=x,210-136;maxwidth,202/0.6;horizalign,right;shadowlength,1;zoom,0.6
#
ModeX=245-136
SortX=245-136
CourseX=245-136
ModeOnCommand=maxwidth,300;horizalign,right;shadowlength,1;zoom,0.75
CourseOnCommand=maxwidth,300;horizalign,right;shadowlength,1;zoom,0.75
SortOnCommand=maxwidth,300;horizalign,right;shadowlength,1;zoom,0.75

[StepsDisplayListRow]
# TODO: Make this use DifficultyList?
CapitalizeDifficultyNames=false
NumShownItems=4
ItemsSpacingY=60
MoveCommand=decelerate,0.2

FrameX=0
#
NumTicks=10
MaxTicks=10
#
ShowMeter=true
MeterX=13
MeterY=-1
MeterOnCommand=zoom,1.0;rotationz,90;horizalign,center;maxwidth,40
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(ColorLightTone(CustomDifficultyToColor(param.CustomDifficulty))); \
		self:diffusebottomedge(ColorMidTone(CustomDifficultyToColor(param.CustomDifficulty))); \
	end; \
	if param.Meter then \
		if param.Meter >= 14 then \
			self:textglowmode('TextGlowMode_Inner'); \
			self:glowshift(); \
		else \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowDescription=true
DescriptionX=-14
DescriptionY=0
DescriptionOnCommand=horizalign,center;zoom,0.4;maxwidth,87;uppercase,true;rotationz,90
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Edit"); \
	end; \
	if param.CustomDifficulty then \
		self:diffuse(ColorLightTone(CustomDifficultyToColor(param.CustomDifficulty))); \
	end; \
		if param.Meter then \
		if param.Meter >= 14 then \
			self:textglowmode('TextGlowMode_Inner'); \
			self:glowshift(); \
		else \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowAutogen=true
AutogenX=0
AutogenY=0
#AutogenOnCommand=diffuseshift;effectcolor1,Colors.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") );
AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088");
#
StepsTypeX=-64-8
StepsTypeY=0
StepsTypeOnCommand=
StepsTypeSetCommand=

[ScreenStageInformation]
ShowHeader=false
ShowFooter=false

[Player]
PercentUntilColorCombo=0
ReceptorArrowsYReverse=160

[ScreenGameplay]
ShowHeader=false
ShowFooter=false
#
ScoreP1OnCommand=visible,false
ScoreP2OnCommand=visible,false
#
LifeP1X=SCREEN_LEFT+20
LifeP1Y=SCREEN_CENTER_Y
LifeP2X=SCREEN_RIGHT-20
LifeP2Y=SCREEN_CENTER_Y
LifeP1OnCommand=rotationz,90;zoomx,-1;zoomy,-1;addx,-120;decelerate,0.6;addx,120
LifeP1OffCommand=sleep,1.4;decelerate,3;addx,-120
LifeP2OnCommand=rotationz,90;zoomx,-1;addx,120;decelerate,0.6;addx,-120
LifeP2OffCommand=sleep,1.4;decelerate,3;addx,120
#
StepsDisplayP1OnCommand=visible,false;
StepsDisplayP2OnCommand=visible,false;
StepsDisplayP1Y=SCREEN_BOTTOM+999
StepsDisplayP2Y=SCREEN_BOTTOM+999

[Combo]
ShowComboAt=2
ShowMissesAt=100000
NumberMinZoom=1
NumberMaxZoom=1
NumberMaxZoomAt=250

PulseCommand=%function(self,param) self:stoptweening(); self:diffusealpha(0.5); self:zoom(1.300*param.Zoom); self:linear(0.1); self:diffusealpha(0.8); self:zoom(param.Zoom); end
NumberOnCommand=y,230-190-1.5;shadowlength,1;horizalign,center;vertalign,bottom;x,0
ComboTransformCommand=%function(self,param) if param.bReverse then self:y(-140) end end

[Judgment]
JudgmentOnCommand=
JudgmentW1Command=finishtweening;glowblink;effectperiod,0.05;effectcolor1,1,1,1,0;effectcolor2,1,1,1,0.3;y,-8;diffusealpha,0.5;zoom,1.4;linear,0.1;y,0;diffusealpha,0.9;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;
JudgmentW2Command=finishtweening;y,-8;diffusealpha,0.5;zoom,1.1;linear,0.1;diffusealpha,0.8;y,0;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;
JudgmentW3Command=finishtweening;y,-6;diffusealpha,0.5;zoom,1;linear,0.1;diffusealpha,0.8;y,0;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;
JudgmentW4Command=finishtweening;y,0;diffusealpha,0.5;zoom,1;linear,0.2;diffusealpha,0.8;y,0;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;
JudgmentW5Command=finishtweening;y,0;diffusealpha,0.5;zoom,1;linear,0.2;diffusealpha,0.8;y,0;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;
JudgmentMissCommand=finishtweening;y,0;diffusealpha,0.5;zoom,1;linear,0.2;diffusealpha,0.8;zoom,0.75;sleep,0.5;linear,0.2;zoom,0.3;diffusealpha,0;

[HoldJudgment]
HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.04;zoom,1;sleep,1.0;smooth,0.2;diffusealpha,0;sleep,0.1
HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.04;zoom,1;sleep,0.8;smooth,0.2;diffusealpha,0;sleep,0.1

[StreamDisplay]
PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	local fItemWidth = ( 264 / numItems ) \
	self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \
	self:zoomtoheight(16); \
	self:zoomtowidth(fItemWidth); \
end;
TextureCoordScaleX=256/16
NumPills=16


[LifeMeterBattery]
BatteryBlinkTime=0.5
#
NumLivesP1X=130
NumLivesP1Y=0
NumLivesP1OnCommand=diffuse,color("#F5D5D5");zoom,0.8;rotationz,90
NumLivesP2OnCommand=diffuse,color("#F5D5D5");zoom,0.8;zoomx,-0.8;rotationz,90
NumLivesP1GainLifeCommand=
NumLivesP1LoseLifeCommand=zoomx,0.9;smooth,0.15;zoomx,0.8
NumLivesP2X=130
NumLivesP2Y=0
NumLivesP2GainLifeCommand=
NumLivesP2LoseLifeCommand=zoomx,-0.9;smooth,0.15;zoomx,-0.8
#
BatteryP1X=50
BatteryP1Y=0
BatteryP2X=50
BatteryP2Y=0

[LifeMeterBattery Percent]
PercentP1OnCommand=visible,false;
PercentP2OnCommand=visible,false;

######
# Evaluation
######
[PlayerStageStats]
# Copied from Simply Love, which was in turn copied from freem's ITG3 port
NumGradeTiersUsed=17
GradeTier01IsAllW2s=false
GradeTier02IsAllW2s=true
# Rainbow AAA
GradePercentTier01=1.000000
# AAA (Requires PFC)
GradePercentTier02=1.000000
# AA+
GradePercentTier03=0.98
# AA
GradePercentTier04=0.96
# A+ (7-tier AA equivalent)
GradePercentTier05=0.93
# A
GradePercentTier06=0.92
# A-
GradePercentTier07=0.89
# B+
GradePercentTier08=0.86
# B
GradePercentTier09=0.83
# B-
GradePercentTier10=0.80
# C+
GradePercentTier11=0.76
# C
GradePercentTier12=0.72
# C-
GradePercentTier13=0.68
# D+
GradePercentTier14=0.64
# D
GradePercentTier15=0.60
# D-
GradePercentTier16=0.55
# E
GradePercentTier17=-999

[ScreenEvaluation]
ShowHeader=true
ShowFooter=false
ShowHelp=false
StageDisplayUseShortString=false

[ScreenEvaluationSummary]
ShowHeader=true
ShowFooter=true
ShowHelp=true

######
#  Edit mode
######
[TextBannerEditMode]
TitleOnCommand=horizalign,left;shadowlength,1;y,-11;zoom,0.9;maxwidth,350;
SubtitleOnCommand=horizalign,left;shadowlength,1;zoom,0.6;y,5;maxwidth,350;
ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2;zoom,0.6;y,17;maxwidth,350;
ArtistPrependString=""
AfterSetCommand=visible,true;

[ScreenMiniMenu]
Class="ScreenMiniMenu"
Fallback="ScreenOptions"
PrevScreen=
TimerSeconds=-1
AllowRepeatingChangeValueInput=true
#
ShowHelp=false
ShowExplanations=false
ShowExitRow=false
ShowStyleIcon=false
ShowFooter=false
#
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP+40
HeaderOnCommand=visible,false
HeaderOffCommand=
#
OptionRowNormalMetricsGroup="OptionRowMiniMenu"
NumRowsShown=9
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-114+28*offsetFromCenter) end
ColorDisabled=color("0.8,0.8,0.8,0.975")
#
ContainerOnCommand=addy,-4;diffusealpha,0;decelerate,0.2;addy,4;diffusealpha,1
ContainerOffCommand=decelerate,0.2;addy,4;diffusealpha,0
CursorOnCommand=visible,false
#
LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375


[ScreenMiniMenuContext]
PageOnCommand=visible,false
LineHighlightX=SCREEN_CENTER_X/2

TitleX=SCREEN_CENTER_X
TitleOnCommand=shadowlength,1;
ItemsStartX=SCREEN_CENTER_X
ItemsEndX=SCREEN_CENTER_X
ItemsGapX=14
ItemsLongRowP1X=SCREEN_CENTER_X
ItemsLongRowP2X=SCREEN_CENTER_X
ItemsLongRowSharedX=SCREEN_CENTER_X

[StepsDisplay]
ShowDescription=true
DescriptionX=0
DescriptionY=0
ShowMeter=true
MeterX=46
MeterY=0
DescriptionOnCommand=uppercase,true;zoom,0.75
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Edit"); \
	end; \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \
		self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
end;
MeterSetCommand=%function(self,param) if param.CustomDifficulty then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); end end
MeterOnCommand=zoom,0.75

[OptionRowMiniMenu]
Fallback="OptionRow"
TitleOnCommand=shadowlength,0;uppercase,true;halign,0;zoom,0.6;addx,-40
ItemsLongRowP1X=SCREEN_CENTER_X-240
ItemsLongRowP2X=SCREEN_CENTER_X+240
ItemsLongRowSharedX=SCREEN_CENTER_X+160
ItemOnCommand=zoom,0.6375

[ScreenEditOptions]
ShowHeader=false
ShowFooter=false
ShowHelp=false

[ScreenTextEntry]
ShowHeader=false
ShowFooter=false
ShowHelp=false
QuestionOnCommand=diffuse,color("#0BD2A1")
AnswerOnCommand=diffuse,color("#F7E16E");glowshift;

[ScreenPrompt]
QuestionOffCommand=smooth,0.2;diffusealpha,0;
CursorOffCommand=smooth,0.2;diffusealpha,0;

[ScreenEdit]
ShowHeader=false
ShowFooter=false

[ScreenMiniMenuMainMenu]
ShowHeader=false
ShowFooter=false

[ScreenGameOver]
ShowHeader=false
ShowFooter=false
ShowHelp=false